package com.hualude.roadsign.service;

import com.hualude.roadsign.dto.DTRequestDto;
import com.hualude.roadsign.dto.DTResponseDto;
import com.hualude.roadsign.dto.SolarEnergyFaultDto;

import java.util.List;

/**
 * Created by pjn on 2017/7/11.
 */

public interface SolarService {
    /**
     * @Description: 获取太阳能信息datatable
     * @Author: pan-jianan
     * @Date: 2017/7/12 18:45
     */
    public DTResponseDto getSolarFault4DT(DTRequestDto dtRequestDto, Integer actorId, Integer userId, Integer orgId) throws Exception;

    /**
     * @Description: 太阳能详情
     * @Author: pan-jianan
     * @Date: 2017/7/12 18:46
     */
    public SolarEnergyFaultDto getSolarEnergyInfo2Fault(Integer solarEnergyId) throws Exception;

    /**
     * @Description: 太阳能故障详情
     * @Author: pan-jianan
     * @Date: 2017/7/12 18:47
     */
    public SolarEnergyFaultDto getSolarFaultInfo2Fault(Integer solarEnergyId, Integer solarFaultId) throws Exception;

    /**
     * @Description: 故障一级审核
     * @Author: pan-jianan
     * @Date: 2017/7/12 21:39
     */
    public Integer solarFaultAudit(Integer isPass, String solarFeedback, Integer solarFaultId, Integer solarCheckerId) throws Exception;

    /**
     * @Description: 删除太阳能故障
     * @Author: pan-jianan
     * @Date: 2017/7/13 14:04
     */
    public Integer deleteSolarFaultByIds(String solarFaultIds) throws Exception;

    /**
     * @Description: 太阳能故障上报modal
     * @Author: jiang-weirong
     * @Date: 2017/7/13 21:17
     */
    public DTResponseDto getSolarFaultReport4DT(DTRequestDto dtRequestDto, Integer actorId, Integer orgId, String solarEnergyStartRoad, String solarEnergyEndRoad, String solarEnergyRoadName) throws Exception;

    /**
     * @Description: 获取路段By路名
     * @Author: jiang-weirong
     * @Date: 2017/7/13 21:17
     */
    public List<String> getRoadByRoadName(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 通过起始路段搜索截止路段
     * @Author: jiang-weirong
     * @Date: 2017/7/13 21:34
     */
    public List<String> getSectionByRoadName(String roadName, Integer actorId, Integer orgId) throws Exception;

    /**
     * @Description: 更新故障上报信息
     * @Author: jiang-weirong
     * @Date: 2017/7/14 14:14
     */
    public Integer updateSolarFault(Integer solarFaultId, Integer solarLevel, Integer solarType, String solarPhoto, String solarReason, Double solarMoney) throws Exception;

    /**
     * @Description: 获取太阳能坐标4MAP
     * @Author: pan-jianan
     * @Date: 2017/7/14 15:59
     */
    public List<SolarEnergyFaultDto> getSolarCoordinate4Map(Integer orgId,Integer actorId) throws Exception;

    /**
     * @Description: 根据太阳能坐标获取信息
     * @Author: pan-jianan
     * @Date: 2017/7/14 16:16
     */
    public List<SolarEnergyFaultDto> getSolarEnergyByXY(String longitude,String latitude) throws Exception;
    /**
     * @Description: 判断是否太阳能可上报：1可以，0不行
     * @Author: jiang-weirong
     * @Date: 2017/7/14 17:45
     */
    public Integer getFaultIsReport(Integer solarEnergyId) throws Exception;

    /**
     * @Description: 太阳能故障上报
     * @Author: pan-jianan
     * @Date: 2017/7/14 19:10
     */
    public Integer reportSolarFault(Integer solarEnergyId, Integer solarCreatorId, Integer solarLevel, Integer solarType,
                                    String solarPhoto, String solarReason, Double solarMoney, Integer solarOrgId, Integer solarMainOrgId) throws Exception;

    /**
     * @Description: 获取上报信息
     * @Author: jiang-weirong
     * @Date: 2017/7/17 15:42
     */
    public  List<SolarEnergyFaultDto> getSolarFaultList4App(Integer orgId, String actorIds, Integer faultStatus, Integer count, Integer size) throws Exception;
}
